Multi-level Pulse Amplitude Modulation (PAM) has become a favored modulation mechanism in signal transmission, whether between chips on a Printed Circuit Board (PCB) or from one end of a long-haul optical fiber to another. On the transmitter side, the amplitudes of carrier pulses are varied according to the sample value of the message signal and based on the constellation levels of the particular PAM-N scheme. Correspondingly, on the receiver side, demodulation is performed based on the constellation levels by detecting the amplitude level of the carrier at every period.
As a signal transmitted from a transmitter to a receiver, a wide range of factors in the communication channel can cause the shape and amplitude of the signal to be altered, also called non-linearity, such as due to noise and phase interference. When characterized by using eye diagrams, non-linearity or amplitude compression can alter the eye height of different transition eyes, leading to errors due to a lower Signal-Noise-Ratio (SNR).
At the receiver side, when a noise-affected signal is converted to a digital signal and subject to demodulation, it is likely mapped to a constellation point that does not correspond identically to a signal constellation level. A slicer is used to determine which signal constellation level lies closest to the received symbol based on a set of thresholds which are typically defined to be evenly spaced. Unfortunately, non-linearity likely causes a received symbol to move closer to another constellation level than the one transmitted. Hence incorrect modulation tends to occur as the nominal thresholds used in the slicer do not factor in non-linearity. In the existing art, various computationally intensive calculations have been developed for identifying the actual closest signal constellation level. These calculations consume a significant amount of the valuable computation resources in a receiver.